home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-10-22 | 1.6 KB | 63 lines | [TEXT/CWIE] |
- // ===========================================================================
- // CLookupDocument.h ©1994 Metrowerks Inc. All rights reserved.
- // ===========================================================================
-
- #pragma once
-
- #include <LSingleDoc.h>
-
- #include "Lookup.h"
- #include "CList.h"
-
- class CEntry;
-
- typedef unsigned long EntryIndex;
-
- class CLookupDocument : public LSingleDoc, public LBroadcaster
- {
- public:
- enum {
- kFileType = kDocumentType
- };
-
- CLookupDocument(LCommander *inSuper, FSSpec *inFileSpec);
- virtual ~CLookupDocument();
-
- virtual void FindCommandStatus(CommandT inCommand, Boolean & outEnabled,
- Boolean & outUsesMark, Char16 & outMark, Str255 outName);
-
- // accessors
-
- const CEntry * GetEntryPtrAt(EntryIndex row) const;
- const CEntry & GetEntryAt(EntryIndex row) const;
- EntryIndex GetEntryCount() const;
-
- // mutators
-
- virtual Boolean IsModified();
- virtual void DoAESave(FSSpec &inFileSpec, OSType inFileType);
- virtual void DoSave();
- virtual void DoRevert();
- virtual void DoPrint();
-
- // AEOM stuff:
-
- virtual LModelObject * HandleCreateElementEvent(DescType inElemClass, DescType inInsertPosition,
- LModelObject * inTargetObject, const AppleEvent & inAppleEvent,
- AppleEvent &outAEReply);
-
- virtual void GetSubModelByComplexKey(DescType inModelID, DescType inKeyForm,
- const AEDesc & inKeyData, AEDesc & outToken) const;
-
- private:
- CList<CEntry> mEntryList;
- Boolean mDirty;
-
- static void NameUntitled(StringPtr outTitle);
- void ReadFile();
-
- friend class CEntry;
- void NotifyEntryChanged(CEntry *);
- void DeleteEntry(CEntry *);
- };
-